package com.ruoyi.dgw.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 保险对象 insurance
 * 
 * @author ruoyi
 * @date 2021-11-18
 */
@ApiModel(value = "Insurance", description = "保险实体")
public class Insurance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 投保单号 */
    @Excel(name = "投保单号")
    private String insuranceNumber;

    /** 保单号 */
    @Excel(name = "保单号")
    private String policyNumber;

    /** 报案号 */
    @Excel(name = "报案号")
    private String reportNumber;

    /** 备案号 */
    @Excel(name = "备案号")
    private String recordsNumber;

    /** 投保人姓名 */
    @Excel(name = "投保人姓名")
    @ApiModelProperty("投保人姓名")
    private String insureName;

    /** 投保人身份证 */
    @Excel(name = "投保人身份证")
    @ApiModelProperty("投保人身份证")
    private String insureSfz;

    /** 投保人银行卡号 */
    @Excel(name = "投保人银行卡号")
    @ApiModelProperty("投保人银行卡号")
    private String insureYhkh;

    /** 投保人手机号 */
    @Excel(name = "投保人手机号")
    @ApiModelProperty("投保人手机号")
    private String insurePhone;

    /** 受益人姓名 */
    @Excel(name = "受益人姓名")
    @ApiModelProperty("受益人姓名")
    private String beneficiaryName;

    /** 受益人_身份证 */
    @Excel(name = "受益人_身份证")
    @ApiModelProperty("受益人_身份证")
    private String beneficiarySfz;

    /** 受益人银行卡号 */
    @Excel(name = "受益人银行卡号")
    @ApiModelProperty("受益人银行卡号")
    private String beneficiaryYhkh;

    /** 险种名称 */
    @Excel(name = "险种名称")
    @ApiModelProperty("险种名称")
    private String insuranceType;

    /** 所属区域（省、市、县） */
    @ApiModelProperty("所属区域")
    @Excel(name = "所属区域", readConverterExp = "省=、市、县")
    private String area;

    /** 承保头数 */
    @Excel(name = "承保头数")
    private Long insuranceSum;

    /** 生效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveTime;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deadline;

    /** 审核状态1=未审核，2=审核通过，3=驳回 */
    @Excel(name = "审核状态1=未审核，2=审核通过，3=驳回")
    private Long status;

    /** 驳回原因 */
    @Excel(name = "驳回原因")
    private String cause;

    /** 养殖户id */
    @Excel(name = "养殖户id")
    private Long userId;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    /** 养殖户id */
    @Excel(name = "养殖户名称")
    @ApiModelProperty("养殖户名称")
    private String nickName;

    public List<TagNumber> getChildren() {
        return children;
    }

    public void setChildren(List<TagNumber> children) {
        this.children = children;
    }

    /** 耳标信息 */
    @ApiModelProperty("耳标集合")
    private List<TagNumber> children;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setInsuranceNumber(String insuranceNumber) 
    {
        this.insuranceNumber = insuranceNumber;
    }

    public String getInsuranceNumber() 
    {
        return insuranceNumber;
    }
    public void setPolicyNumber(String policyNumber) 
    {
        this.policyNumber = policyNumber;
    }

    public String getPolicyNumber() 
    {
        return policyNumber;
    }
    public void setReportNumber(String reportNumber) 
    {
        this.reportNumber = reportNumber;
    }

    public String getReportNumber() 
    {
        return reportNumber;
    }
    public void setRecordsNumber(String recordsNumber) 
    {
        this.recordsNumber = recordsNumber;
    }

    public String getRecordsNumber() 
    {
        return recordsNumber;
    }
    public void setInsureName(String insureName) 
    {
        this.insureName = insureName;
    }

    public String getInsureName() 
    {
        return insureName;
    }
    public void setInsureSfz(String insureSfz) 
    {
        this.insureSfz = insureSfz;
    }

    public String getInsureSfz() 
    {
        return insureSfz;
    }
    public void setInsureYhkh(String insureYhkh) 
    {
        this.insureYhkh = insureYhkh;
    }

    public String getInsureYhkh() 
    {
        return insureYhkh;
    }
    public void setInsurePhone(String insurePhone) 
    {
        this.insurePhone = insurePhone;
    }

    public String getInsurePhone() 
    {
        return insurePhone;
    }
    public void setBeneficiaryName(String beneficiaryName) 
    {
        this.beneficiaryName = beneficiaryName;
    }

    public String getBeneficiaryName() 
    {
        return beneficiaryName;
    }
    public void setBeneficiarySfz(String beneficiarySfz) 
    {
        this.beneficiarySfz = beneficiarySfz;
    }

    public String getBeneficiarySfz() 
    {
        return beneficiarySfz;
    }
    public void setBeneficiaryYhkh(String beneficiaryYhkh) 
    {
        this.beneficiaryYhkh = beneficiaryYhkh;
    }

    public String getBeneficiaryYhkh() 
    {
        return beneficiaryYhkh;
    }
    public void setInsuranceType(String insuranceType) 
    {
        this.insuranceType = insuranceType;
    }

    public String getInsuranceType() 
    {
        return insuranceType;
    }
    public void setArea(String area) 
    {
        this.area = area;
    }

    public String getArea() 
    {
        return area;
    }
    public void setInsuranceSum(Long insuranceSum) 
    {
        this.insuranceSum = insuranceSum;
    }

    public Long getInsuranceSum() 
    {
        return insuranceSum;
    }
    public void setEffectiveTime(Date effectiveTime) 
    {
        this.effectiveTime = effectiveTime;
    }

    public Date getEffectiveTime() 
    {
        return effectiveTime;
    }
    public void setDeadline(Date deadline) 
    {
        this.deadline = deadline;
    }

    public Date getDeadline() 
    {
        return deadline;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setCause(String cause) 
    {
        this.cause = cause;
    }

    public String getCause() 
    {
        return cause;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

   @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("insuranceNumber", getInsuranceNumber())
            .append("policyNumber", getPolicyNumber())
            .append("reportNumber", getReportNumber())
            .append("recordsNumber", getRecordsNumber())
            .append("insureName", getInsureName())
            .append("insureSfz", getInsureSfz())
            .append("insureYhkh", getInsureYhkh())
            .append("insurePhone", getInsurePhone())
            .append("beneficiaryName", getBeneficiaryName())
            .append("beneficiarySfz", getBeneficiarySfz())
            .append("beneficiaryYhkh", getBeneficiaryYhkh())
            .append("insuranceType", getInsuranceType())
            .append("area", getArea())
            .append("insuranceSum", getInsuranceSum())
            .append("effectiveTime", getEffectiveTime())
            .append("deadline", getDeadline())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("status", getStatus())
            .append("cause", getCause())
            .append("userId", getUserId())
                .append("nickName", getNickName())
            .append("children", getChildren())
            .toString();
    }
}
